package cn.car.domains.vo.sysPermission;

import lombok.Data;
import io.swagger.v3.oas.annotations.media.Schema;
import jakarta.validation.constraints.NotNull;

@Data
@Schema(name = "UpdatePermissionReq", description = "更新权限的请求参数")
public class UpdatePermissionReq {

    /**
     * 主键id
     */
    @NotNull(message = "主键id不能为空")
    @Schema(name = "id", description = "主键id")
    private Long id;

    /**
     * 权限名称
     */
    @Schema(name = "permissionName", description = "权限名称")
    private String permissionName;

    /**
     * 权限code
     * 用于唯一标识权限
     */
    @Schema(name = "permissionCode", description = "权限编码（唯一标识）")
    private String permissionCode;

    /**
     * 权限类型
     */
    @Schema(name = "permissionType", description = "权限类型")
    private String permissionType;

    /**
     * 父id
     * 用于表示权限的层级关系
     */
    @Schema(name = "parentId", description = "父权限ID（层级关系）")
    private Long parentId;

    /**
     * 权限状态
     */
    @Schema(name = "status", description = "权限状态（如：ACTIVE/INACTIVE/DELETED）")
    private String status;

    /**
     * 排序
     */
    @Schema(name = "orderNum", description = "显示顺序，数值越小越靠前")
    private Integer orderNum;
}
